import("//llvm/utils/TableGen/tablegen.gni")

tablegen("Options") {
  visibility = [ ":dsymutil" ]
  args = [ "-gen-opt-parser-defs" ]
}

executable("dsymutil") {
  deps = [
    ":Options",
    "//llvm/lib/CodeGen/AsmPrinter",
    "//llvm/lib/DWARFLinker",
    "//llvm/lib/DWARFLinkerParallel",
    "//llvm/lib/DebugInfo/DWARF",
    "//llvm/lib/MC",
    "//llvm/lib/Object",
    "//llvm/lib/Option",
    "//llvm/lib/Support",
    "//llvm/lib/Target",
    "//llvm/lib/Target:TargetsToBuild",
    "//llvm/lib/TargetParser",
  ]
  sources = [
    "BinaryHolder.cpp",
    "CFBundle.cpp",
    "DebugMap.cpp",
    "DwarfLinkerForBinary.cpp",
    "MachODebugMapParser.cpp",
    "MachOUtils.cpp",
    "Reproducer.cpp",
    "SymbolMap.cpp",
    "dsymutil.cpp",
  ]
  if (host_os == "mac") {
    frameworks = [ "CoreFoundation.framework" ]
  }
}
